Add workflow automation for maintaining patched fork#14
Merged
adityamaru merged 9 commits intomasterfrom Nov 19, 2025
Merged
Conversation
Removed multiple markdown files and created a single, concise DEPLOYMENT.md that explains: - How to create patched releases - How to sync with upstream - The rebase workflow process Keeping documentation minimal and focused on the essential deployment operations.
Complete redesign to use the canonical rebase workflow: - Master = upstream + our patches (always rebased on top) - No manual patch tracking (git knows the delta) - Single workflow for creating releases Key changes: - Removed complex patch ID system and patches branch - Added release-patched-version.yml: automatically finds and applies patches - Added rebase-upstream.yml: keeps master rebased on upstream - Added FORK_WORKFLOW.md: comprehensive guide for developers Workflow: 1. Developers PR to master 2. Master stays rebased on upstream (patches on top) 3. Release workflow cherry-picks all patches onto upstream tags 4. Git automatically handles patch cleanup when merged upstream This matches how Chromium forks, Android AOSP, and Linux distros maintain their patches - battle-tested and maintenance-free.
- Use actual newlines instead of literal \n characters - Remove echo -e flags since we're using real newlines - Fix tag message formatting to properly display patch list
The go build commands need the bin directory to exist before writing output files
- Use printf instead of multiline strings to avoid YAML syntax errors - Fetch upstream master branch along with tags for patch discovery - Fixes yamllint errors at lines 108 and 153
- Check git push failures in release workflow and exit properly - Check git push failures in rebase workflow to avoid false success - Prevent inconsistent state where tags exist but branches don't - Provide clear error messages and manual recovery instructions
- Add contents: write to release workflow for git operations and releases - Add contents: write and issues: write to rebase workflow - Follows established pattern from buildkit.yml workflow - Ensures workflows have necessary permissions to complete operations
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds GitHub Actions workflows to automate the process of maintaining a patched fork of BuildKit.
What's Included
1. Release Workflow (
.github/workflows/release-patched-version.yml)2. Rebase Workflow (
.github/workflows/rebase-upstream.yml)3. Documentation (
DEPLOYMENT.md)Usage
To create a patched release:
To sync with upstream:
Benefits
Note
Adds GitHub Actions to rebase
masteron upstream and to create patched releases (with multi-arch binaries and checksums), plus deployment docs./.github/workflows/rebase-upstream.yml:masterontoupstream/master(scheduled weekly and manual)./.github/workflows/release-patched-version.yml:upstream_versionand optionalrelease_suffix.origin/masternot inupstream/masteronto the tag, tags/pushes release branch.DEPLOYMENT.md: How to create patched releases, run rebase workflow, view patches, do manual rebase, and download binaries.Written by Cursor Bugbot for commit 485be4f. This will update automatically on new commits. Configure here.